package org.example.memora.mapper;

import org.example.memora.entity.UserFollow;
import java.util.List;
import java.util.Map;

public interface UserFollowMapper {

    /**
     * 插入关注记录
     */
    int insert(UserFollow record);

    /**
     * 根据主键查询关注记录
     */
    UserFollow selectById(Long id);

    /**
     * 更新关注记录
     */
    int update(UserFollow record);

    /**
     * 根据主键删除关注记录
     */
    int delete(Long id);

    /**
     * 根据粉丝ID和被关注者ID删除记录（用于取消关注）
     */
    int deleteByFollowerAndFollowed(Map<String, Object> params);

    /**
     * 分页查询指定粉丝的关注记录
     * 参数包含 followerId, limit, offset
     */
    List<UserFollow> selectByFollowerId(Map<String, Object> params);

    /**
     * 查询指定粉丝的关注记录总数
     */
    int countByFollowerId(Long followerId);
}

